package main

// 不定参数

//func sumA(arr ...int) (sum int) {
//	//下标和值
//	for k, v := range arr {
//		fmt.Println(k, v)
//		sum += v
//	}
//	return
//}
//
//func sumB(arr []int) (sum int) {
//	//下标
//	for v := range arr {
//		sum += v
//	}
//	return
//}
//
//func main() {
//	//slice := []int{1, 2, 3, 4}
//	//array := [...]int{1, 2, 3, 4}
//	//	数组不可作为实参传递给不定参数的函数
//	//sumA = sum(slice)
//	//sumB = sum(array)
//	//			array	len			cap
//	//			数组		切片长度		切片底层数组长度
//	slice := make([]int, 10)
//	fmt.Println(slice)
//
//	fmt.Printf("%T\n", sumA)
//	fmt.Printf("%T\n", sumB)
//
//	//for i := 0; i < (len(slice)); i++ {
//	//	slice[i] += i
//	//}
//
//	//切片也不可作为实参传递给不定参数的函数
//	//fmt.Println(sumA(slice))
//	fmt.Println(sumB(slice))
//	str := "古德拜,bey"
//
//	//字符串转数组
//	//字节
//	fmt.Println([]byte(str))
//	//字符	字符输出需要使用	fmt.Printf("%c", char)
//	fmt.Println([]rune(str))
//	//上面两句属于强制类型转换
//
//	for v := range []rune(str) {
//		fmt.Printf("%c\t", []rune(str)[v])
//	}
//	fmt.Println()
//
//	for v := range []byte(str) {
//		fmt.Printf("%c\t", []byte(str)[v])
//	}
//	fmt.Println()
//
//	fmt.Println(sumA(1, 2, 3, 4, 5))
//
//}
